Linux-Systemtools in der Praxis

Um ein Linux-System zu beherrschen, greifen die Klicks in den „Systemeinstellungen“ zu kurz. Lesen Sie hier, wo Sie Systeminfos einholen, Protokolle und Konfiguration abgreifen, über User, Rechte und Tasks herrschen und Ihre Datenträger verwalten.

Systemtools

Wie viel Speicher steckt im Rechner? Sind noch Bänke frei? Wo ist die Konfigurationsdatei für den Samba-Server? Wie beende ich ein eingefrorenes Programmfenster? Und wo ist das Mount-Verzeichnis für das eingehängte Netzlaufwerk? Diese und viele weitere Fragen soll der folgende Beitrag praxisnah beantworten. Dabei kommen prominenteste grafische Programme unter den Desktop-Systemen Ubuntu und Linux Mint zu Wort, aber den größeren Anteil erhalten die typischen Terminalprogramme. Diese haben nämlich zwei entscheidende Vorteile: Erstens funktionieren sie auf allen Linux-Distributionen, zweitens sind sie alternativlos, wenn ein Server per SSH im Terminal administriert wird.

Alle Themen zu Netzwerk, Freigaben, Fernwartung, Internet bleiben außen vor. Einzige kleine Ausnahme sind Tipps zum Mountpunkt von Netzressourcen. Ein vergleichbares Praxis-Special zum Thema „Netzwerk“ ist für die nächste LinuxWelt geplant.

Hardware- und Systeminfos (1): Grafische Werkzeuge

Ubuntu gibt an der grafischen Oberfläche wenig über Hardware und System preis: Was hier unter „Systemeinstellungen -> Informationen“ angezeigt wird, kommt über Gesamtspeicher, CPU und die Angabe der Ubuntu-Version nicht hinaus. Wer ein grafisches Übersichtsprogramm vermisst, kann mit

sudo apt-get install hardinfo

ein bewährtes Tool nachinstallieren. hardinfo nennt sich auf deutschem System „System Profiler und Benchmark“ und ist unter Linux Mint standardmäßig an Bord (im Menü unter den „Systemtools“). Das Tool hat links eine Kategorienspalte, zeigt im rechten Fenster die zugehörigen Werte und generiert auf Wunsch auch einen HTML-Export. Hardinfo ist übersichtlich, klickfreundlich und zeigt wesentliche Infos – auch zum Betriebssystem, zum Dateisystem und zum Netzwerk. Außerdem gibt es einige Standardbenchmarks.

Ein weiteres empfehlenswertes grafisches Tool ist i-nex 0.5.2, das Sie unter https://launchpad.net/i-nex als DEB-Paket erhalten und mit Doppelklick unter Ubuntu/Mint installieren und danach verwenden können. Das Programm ähnelt CPU-Z für Windows, ist übersichtlicher und präziser als hardinfo, beschränkt sich aber ausschließlich auf die Hardware-Komponenten.

Empfehlung für Deskop-Nutzer: „System Profiler und Benchmark“ (hardinfo) hat ein umfassendes Repertoire zur Recherche der System-, Hardware- und Netzwerk-Eigenschaften.
Ganz auf Hardware spezialisiert: i-nex ist das übersichtlichste und präziseste grafische Werkzeug zur Hardware-seitigen Rechner-Inventur.

Hardware- und Systeminfos (2): Terminal-Werkzeuge

Die meisten grafischen Tools gießen nur die Ausgabe von Konsolen-Kommandos in eine hübschere grafische Form. Daher suchen und filtern Sie die gewünschten Daten letztlich zielsicherer, wenn Sie sich mit Konsolenwerkzeuge wie dmidecode, hwinfo und dmesg anfreunden und häufiger benötigte Infos als Script oder als Alias-Abkürzungen für das Terminal ablegen.

hwinfo: Das Tool ist meistens nicht Standard, aber über den gleichnamigen Paketnamen überall schnell nachinstalliert. Während

hwinfo --short

nur einen knappen Überblick über CPU, Grafikkarte, Festplatten, Netzwerk-Adapter und Festplatten-Controller verschafft, sammelt hwinfo ohne Parameter einen sehr umfangreichen Hardware-Bericht, der dann allerdings kaum mehr lesbar erscheint. Daher gibt es eine Vielzahl von (kombinierbaren) Schlüsselwörtern, um die Recherche einzugrenzen:

hwinfo --disk --partition

Die insgesamt 50 verfügbaren Kategorien zeigt das Tool nach hwinfo –help an.

Sämtliche USB-Geräte und PCI-Ports können auch die spezialisierten Standardtools lspci und lsusb, wobei Sie die Gesprächigkeit der Ausgabe durch die Parameter „-v“ und „-vv“ erhöhen können.

dmidecode: Nicht ganz so ausführlich wie hwinfo, aber für alle prakitschen Zwecke ausreichend arbeitet dmidecode, das root-Rechte oder vorangestelltes sudo benötigt. dmidecode unterstützt nach dmidecode -t einige Schlüsselwörter wie „bios“, „system“, „baseboard“, „processor“, „memory“, erwartet aber normalerweise eine Kennziffer (siehe man dmidecode). Eine detaillierte Aufstellung der Speicherbestückung liefert dmidecode beispielsweise mit der Kennziffer „17“:

sudo dmidecode -t 17

Hier erhalten Sie für jedes „Memory Device“ eine exakte Info über Größe, Typ und Geschwindigkeit. dmidecode kann auch gezielt mehrere Infos abfragen:

sudo dmidecode -t 5,6,16,17

Dieses Beispiel entspräche diesem Befehl

sudo dmidecode -t memory

mit dem Schlüsselwort „memory“.

dmesg: Bei Boot- und Hardware-Problemen ist dmesg („driver message“) das einschlägige Tool. Es zeigt die Kernel-Meldungen der laufenden Sitzung. Die Hauptmenge des dmesg-Protokolls fallen naturgemäß beim Booten des Rechners an. Wenn Sie den ungefähren Zeitpunkt des Hardware-Problems kennen, lassen Sie sich mit Schalter „-T“ die exakte Zeit der Kernelmeldung ausgeben:

dmesg -T

Damit können Sie die Mehrzahl der Meldungen zeitlich ausfiltern. Bei reproduzierbaren Problemen hilft auch dmesg -c: Das löscht nämlich alle bisherigen Meldungen, und Sie können dann die problematische Aktion ausführen und anschließend noch einmal dmesg -T befragen. Die Interpretation der Meldung ist dann freilich ein weiteres Problem: Eventuell enthält diese einen Hinweis auf ein konkretes Gerät. Details müssen Sie aber in der Regel über das Web recherchieren.

Hardware- und Systeminfos (3): Das Tool inxi

Das Kommandozeilen-Tool inxi ist nicht so detailliert wie hwinfo oder dmidecode, aber eine kompakte und schnelle Info-Perle für den Blick aufs Wesentliche. Sie erhalten das Bash-Monster unter Ubuntu/Mint über die Paketquellen:

sudo apt-get install inxi

Wer die aktuellste Version haben will, kann das Installationspaket für Ubuntu und Co. auch mit

wget ftp://cathbard.com/binary/inxi*.deb

laden und das Deb-Paket dann per Doppelklick installieren. Die Terminal-Eingabe

inxi –v7 –c12

wirft alle wesentlichen Hardware-Infos aus. „-v7“ steht für maximale Gesprächigkeit, „-c12“ ist nur eine Farbcodierung zur besseren Lesbarkeit. Selbstverständlich kann inxi auch gezielt Einzelinfos abrufen, etwa inxi –S zur detaillierten Anzeige des Betriebssystems oder inxi –s zur Abfrage der Temperatursensoren. man inxi zeigt die ganze, nicht ganz triviale Schalterpalette des Tools.

Komprimierte Anzeige nach typischer Parameterkombination: Was inxi auf wenigen Zeilen an Infos anbietet, ist beeindruckend.

Zur Abfrage der CPU- und System-Temperatur nutzt inxi das Tool lm-sensors, das daher ergänzend installiert werden sollte:

sudo apt-get install lm_sensors

Danach konfigurieren Sie das Tool mit

sudo sensors-detect

ein, wobei Sie alle Fragen bejahen. Nach dem Scan nach vorhandenen Sensoren erhalten Sie dann durch die Eingabe sensors oder auch mit inxi die aktuellen Temperatur-Infos.

Ausgabe des Kommandos sensors: Das Tool nennt auch gleich kritische Vergleichswerte, so dass Sie die aktuellen Werte beurteilen können.

inxi durch Aliases vereinfachen: Das Tool inxi hat annähernd 100 Schalter zur Auswahl bestimmter Infos und ihrer Darstellung (siehe inxi –help). Am einfachsten ist der Einsatz der Verbose-Level v0 bis v7, so etwa der Befehl inxi –v7 mit maximaler Gesprächigkeit innerhalb dieser Levels. Diese vereinfachenden Levels decken aber nicht das ganze Spektrum ab. So ist folgende Task-Analyse in diesen Levels gar nicht vorgesehen:

inxi –tc3 –tm3

Dies liefert die drei jeweils Ressourcen-intensivsten Tasks für CPU (c) und Speicher (m). Genauso wenig ist eine Anzeige der Repositories mit inxi –r in den Verbose-Level enthalten.

Wer mit einem Befehl noch mehr Infos abrufen will, kann dies mit einem Alias in der Datei ~/.bashrc erzielen, das mehrere inxi-Schalter kombiniert:

alias info='inxi -v7; echo " "; inxi -tm3; echo " "; inxi -tc3

Da inxi die Informationen äußerst komprimiert präsentiert, erzielen Sie ein besser lesbareres Resultat, wenn Sie mit einem Alias obigen Musters einzelne Infos abfragen und durch Leerzeilen trennen.

An dieser Stelle finden Sie ein Beispiel-Script ii.sh, das die Benutzung von inxi weiter vereinfacht. Es zeigt, wie Sie sich das Memorieren und Durchsuchen der zahlreichen inxi-Schalter ersparen und wie Sie außerdem weitere Informationen einbauen. Das Script ist am besten unter /usr/bin aufgehoben und benötigt das Execute-Flag (chmod +x ii.sh). Eine Alternative ist der Einbau als function in die versteckte Datei ~/.bashrc. Dazu ist der gesamte Code einfach zwischen

function ii ()
{
[Code]
}

zu kopieren.

Benutzung von inxi vereinfachen und erweitern: Ein einfaches Bash-Script nutzt inxi, sorgt aber für mehr Übersicht und zeigt Erweiterungsmöglichkeiten.

Hardware- und Systeminfos (4): Hardware Detection Tool (HDT)

Das Tool HDT (http://hdt-project.org/) verschafft einen umfassenden Überblick zur Hardware eines Computers, auf dem kein funktionierendes Betriebssystem installiert ist. HDT ist aber auch dann nützlich, wenn Sie mit dem installierten Betriebssystem nicht ausreichend vertraut sind, um damit schnell die erforderlichen Hardware-Informationen zu recherchieren.

Wählen Sie am besten den komfortableren „Menu Mode“. HDT zeigt alle Basisinformationen zur Hardware auf x86-kompatiblen Systemen an, unter anderem zu CPU, Hauptplatine, PCI-Karten, RAM-Speicher, DMI-Geräte, Soundchip, Festplatten und VESA-Fähigkeiten der Grafikkarte. Unter „Processor“ finden Sie auch sämtliche CPU-Extensions wie etwa die PAE-Fähigkeit (Physical Address Extension). Mit dem Eintrag „Reboot“ im textbasierten „Main Menu“ verlassen Sie das Tool und starten den Rechner neu.

Alle wichtigen Hardware-Infos mit HDT: Das Tool ist die schnellste Option einer Hardware-Inventur, wenn ein Betriebssystem fehlt oder dafür zu umständlich ist.

Verwaltung der User und Rechte

Der Kernel arbeitet mit numerischen User-IDs (UID) und Group-IDs (GID). Für die Übersetzung von Namen zu Nummern und umgekehrt sorgen die Konfigurationsdateien /etc/passwd (Benutzer) und /etc/group (Gruppen). So zeigt cat /etc/passwd alle Benutzerkonten einschließlich der impliziten Systemkonten. Eine Sortierung nach der User-ID mit

sort -t ":" -nk 3 /etc/passwd

macht die Liste übersichtlicher, da alle explizit eingerichteten Konten (Ids ab „1000“ aufwärts) ans Ende sortiert werden.

Desktop-Distributionen wie Ubuntu und Mint, aber auch NAS-Systeme wie Openmediavault bieten auch grafische Tools zur Benutzerverwaltung (Ubuntu: „Systemeinstellungen -> Benutzer“). Darauf verlassen kann man sich aber nicht. Der klassische Weg, neue Benutzer anzulegen, erfolgt mit daher root-Recht über diesen Befehl:

sudo useradd sepp

Das Home-Verzeichnis entsteht dabei automatisch. Die Dateien mit der Basis-Konfiguration im neu erstellen Home-Verzeichnis werden aus dem Vorlagenverzeichnis /etc/skel kopiert. Das neue Konto ist eröffnet, sobald mit

sudo passwd sepp

ein Kennwort hinterlegt ist. Löschen kann man Konten samt zugehörigen Ordner unter /home und dem Mail-Spool-Verzeichnis mit diesem Befehl:

userdel -r ich

Dateirechte rekursiv setzen: Um Zugriffsrechte für Dateien zu setzen, gibt es wieder die Wahl zwischen dem grafischen Dateimanager (Ubuntu: „Eigenschaften -> Zugriffsrechte -> Zugriff“) oder Terminalkommandos. Für rekursive Änderungen über ganze Verzeichnisse ist das Terminaltool chmod erste Wahl: Mit

chmod -R 777 ~/Dokumente

erlauben Sie allen Systemkonten die Rechte Lesen, Schreiben, Ausführen/Suchen für den Ordner „Dokumente“ inklusive aller enthaltenen Dateien und Ordner. Bei dieser numerischen Schreibweise gilt die erste Ziffer für das Konto, die zweite für die Gruppe, die dritte für alle anderen Konten. Nach dem Kommando

chmod -R 770 ~/Dokumente

hätten daher die andere Konten (dritte Stelle) keine Daterechte unter ~/Dokumente.

Zugriffsrechte: Über einen Dateimanager wie Nautilus ermitteln Sie, welche Rechte bei einer Datei oder einem Ordner gesetzt sind. Sie können die Berechtigungen hier auch ändern.

Systemprotokolle im Griff (1): Die Protokolldateien

Die Systemprotokolle sind unter „/var/log“ zu finden. Mit root-Rechten auf der Konsole können Sie diese mit den üblichen Kommando-Tools durchsuchen (cat, less oder tail). Beachten Sie dabei die Möglichkeit, gleich mehrere Dateien zu durchforsten und auf jüngste Einträge zu sichten (Beispiel):

tail -n20 auth.log syslog dpkg.log

auth.log protokolliert im Klartext und ausführlich alle Systemanmeldungen. Wer in aller Kürze die erfolgreichen und gescheiterten Log-ins kontrollieren will, kann sich zusätzlich an die Dateien „/var/log/wtmp“ (erfolgreich) und „/var/log/btmp“ (gescheitert) halten. Diese Dateien sind allerdings binär codiert und lassen sich am bequemsten mit last (erfolgreich) und lastb (gescheitert) auslesen:

last -200

lastb -200 root

Gezeigt werden hier jeweils die letzten 200 Anmeldungen, die sich – wie das zweite Beispiel zeigt – auch auf ein bestimmtes Konto filtern lassen.

syslog ist das Systemlogbuch und zeigt Ereignisse aller Art, die an den syslog-Daemon berichten – vorwiegend Kernel-, Hardware- und Cron-Ereignisse.

dpkp.log vermerkt alle manuellen (De-) Installationen und automatischen Updates. Ergänzend und in mancher Hinsicht übersichtlicher lohnt sich in diesem Zusammenhang auch der Blick in die Datei „/var/log/apt/history.log“.

Im Unterverzeichnis „/var/log/samba“ finden Sie für jedes zugreifende Netzgerät ein eigenes Protokoll – entweder mit Host-Namen oder lokaler IP-Adresse.

Die Webserver Apache und Nginx protokollieren unter /var/log/apache2 (oder ../nginx) in die Dateien access.log und error.log. Je nach Rechnerrolle sind auch diese Protokolle eine wichtige Infoquelle.

Systemprotokolle im Griff (1): Tools für Protokolldateien

Das grafische Standardprogramm „Systemprotokoll“ unter Ubuntu und Linux Mint (gnome-system-log) fasst immerhin vier wesentliche Protokolldateien in einem Fenster zusammen: Auth.log, Syslog, Dpkg.log, Xorg.0.log. Hübsch ist die Möglichkeit, bestimmte Ereignisse durch farbige Filter hervorzuheben und damit die Lesearbeit zu erleichtern. Diese Option ist recht unscheinbar in dem kleinen Zahnradsymbol rechts in der Titelleiste untergebracht („Filter -> Filter verwalten“).

Mehrere Dateien mit multitail im Blick: Der übliche Befehl zur Überwachung von Log-Dateien tail -f [Datei] zeigt die letzten Zeilen einer angegebenen Logdatei an und aktualisiert die Ausgabe in Echtzeit. Ein naher Verwandter von tail ist multitail, das in den Paketquellen der populären Linux-Distributionen zur Installation bereitsteht und mehrere Log-Dateien gleichzeitig und in Echtzeit anzeigt. Der Aufruf erfolgt einfach mit

sudo multitail [Datei1] [Datei2]

und der Angabe der gewünschten Dateien als Parameter. Vorangestelltes „sudo“ ist nur dann nötig, wenn nur root die Log-Datei lesen darf. Multitail teilt dazu das Konsolenfenster in mehrere Abschnitte auf, um alle angegebene Log-Dateien anzuzeigen. Praktisch ist  beispielsweise bei der Einrichtung von Webservern, um die Logs access.log und error.log im Auge zu behalten.

Ideal ist ein Script oder eine kleine Funktion, die immer das Wesentlichste einsammelt:

Echo Protokolle unter /var/log…
lastb
last -20
tail -20 /var/log/syslog
tail -20 /var/log/auth.log
tail /var/log/dpkg.log
tail /var/log/user.log
tail /var/log/apt/history.log

Ein solches Bashscript lässt sich mit einigen kommentierenden und abschnittsbildenden Echo-Befehlen natürlich noch lesbarer gliedern. Ein Grundgerüst finden Sie hier.

Konfigurationsdateien im Griff

Die meisten Konfigurationsdateien mit globaler Geltung liegen im Pfad „/etc“. Je nach Umfang erscheint die Datei dort als Einzeldatei wie etwa /etc/crontab oder in einem Unterverzeichnis wie /etc/samba/smb.conf, wenn die betreffende Software mehrere Konfigurationsdateien benötigt. Für die benutzerspezifische Konfiguration gibt es den Sammelordner unter ~/.config, also im Home-Verzeichnis.

Namen und Extensionen folgen keinen strengen Regeln: Manche Konfigurationsdateien tragen den Namen der betreffenden Software wie etwa „nginx.conf“ oder „vsftpd.conf“, andere heißen schlicht „ini“ oder „config“, und die Zuordnung zur Software erschließt sich durch einen Ordner wie „/mc/“ oder „/radicale/“, in dem sie liegen.

Das übliche Zeichen für Kommentare ist überall die Raute „#“. Es ist sehr zu empfehlen, eigene Eingriffe zu kommentieren, dies zweitens so, dass sich die eigenen Einträge von den Standardkommentaren unterscheiden. Möglich wäre etwa diese Form:

#ha# SSH-Standardport 22 geändert…

Dann erkennen Sie eigene Eingriffe sofort, auch wenn Sie die Datei monatelang nicht mehr angefasst haben.

In einfachen Fällen kann es genügen, für die wichtigsten Konfigurationsdateien einige Aliases in der Datei ~/.bashrc anzulegen, so etwa

alias ed1='nano /home/ha/.bashrc'

für das Editieren der bashrc selbst oder etwa

alias ed2='sudo nano /etc/ssh/sshd_config'

für das Ändern der SSH-Konfiguration.

Wer häufig mit diversen Dateien zugange ist, wird mit Alias-Abkürzungen schnell an seine Grenzen stoßen. Hier eignet sich ein kleines Shellscript, das alle wesentlichen Dateien anzeigt

echo " 0 /etc/ssh/sshd_config             SSH-Server"
echo " 1 …"

und dann mit

read -p " " answer
case $answer in
0) sudo nano /etc/ssh/sshd_config
1) …

die Auswahl mit Kennziffer oder Kennbuchstabe vorsieht. Das nebenstehende Bild zeigt, wie eine solche Config-Zentrale aussehen könnte. Das zugehörige Beispielscript config.sh finden Sie finden Sie hier. Die Pfade müssen an einigen Stellen angepasst werden und das Script muss über „Eigenschaften -> Zugriffsrechte“ ausführbar gemacht werden. Das Script bringen Sie am besten im home-Verzeichnis unter und spendieren ihm dann ein Alias

alias conf='sh ~/config.sh $1'

in der ~/bashrc. Dann können Sie Dateien noch schneller etwa mit „conf 1“ laden, deren Kennziffer Sie auswendig wissen.

Die nachfolgende Tabelle zeigt eine Anzahl prominenter Konfigurationsdateien inklusive Pfad.

Linux-Konfgurationsdateien

Selbst wenn Ihnen alle diese Dateien und Pfade geläufig sind, kann ein Script den Alltag vereinfachen: Ein für den betreffenden Pfad benötigtes „sudo“ ist schnell übersehen, und eine Sicherungskopie wäre nützlich gewesen, wenn man sich einmal schwer vergriffen hat.

Tipp: Wenn Sie erfahrungsgemäß gleichzeitig mehrere Konfigurationsdateien benötigen, dann können Sie alle gewünschten Dateien in den Editor Ihrer Wahl mit einem Befehl laden:

alias conf='sudo gedit ~/.bashrc /etc/inputrc /etc/rc.local'

Mit diesem Alias in ~/.bashrc lädt der Befehl conf alle genannten Konfigurationsdateien in gedit.

Config-Zentrale im Terminal: Wer sich die Mühe macht, ein kleines Script anzulegen, erreicht die meistgenutzten Konfigurationsdateien ohne lange Suche.

Datenträger (1): Dateimanager und Mountpunkte

Der Umgang mit internen Festplatten und Hotplug-Medien wie USB-Sticks oder DVDs ist auf jedem Desktop-Linux einfach. Sie schließen einen USB-Datenträger an oder legen eine DVD ein, und es erscheint umgehend ein Dateimanager-Fenster, das den Inhalt anzeigt, oder ein Dialog, der Zugriffsoptionen anbietet. Unter der Haube muss dabei jeder Datenträger oder auch eine Netzressource eingebunden werden (Automount) – standardmäßig unter /media. Die eingebundenen Datenträger sind in der Navigationsspalte des jeweiligen Dateimanagers unter „Mein Rechner“ oder unter „Geräte“ erreichbar sind. Wenn eingebundene Laufwerke nach dem ersten Hotplug erneut benötigt werden, empfiehlt sich daher der Gang zur Navigationsspalte des Dateimanagers. Im Terminal kann der Befehl

mount | grep /dev/sd

alle eingehängten Laufwerke und ihre Mountverzeichnisse anzeigen. grep ist nicht notwendig, filtert aber temporäre Dateisysteme weg. Für eine genauere Übersicht, die neben Gerätekennung, Mountpunkt und Label auch die eindeutige UUID anzeigt, sorgt der Befehl

blkid -o list

Tipp: Im Dateimanager geben Sie zur Auflistung aller angeschlossener Geräte „computer:///“ in das Adressfeld ein. Dazu müssen Sie vorher mit der Tastenkombination Strg-L von der Breadcrumb-Leiste zum editierbaren Adressfeld wechseln. Wenn Sie den realen Pfad, also den Mountpunkt eines Laufwerks im Dateisystem benötigen, etwa für Terminalarbeiten oder Scripts, dann hilft bei physischen Datenträgern ebenfalls das Adressfeld des Dateimanagers: Sie klicken erst das Gerät in der Navigationsspalte an und lassen sich dann mit Strg-L dessen Mountpunkt anzeigen.

Tipp: Standardmäßig sind einige Desktop-Distributionen so eingestellt, dass während der Sitzung gemountete Laufwerke nicht nur im Dateimanager auftauchen, sondern zusätzlich als Desktop-Symbol. Das kann lästig sein, wenn viele USB- oder Netzlaufwerke eingebunden werden. Unter „Systemeinstellungen -> Schreibtisch -> Eingehängte Datenträger“ können Sie das Verhalten unter Linux Mint abstellen, unter Ubuntu ist dafür das externe „Unity Tweak Tool“ erforderlich („Schreibtischsymbole“).

Datenträger (2): Automount von Netzfreigaben

Netzlaufwerke mountet Linux nicht unter /media, sondern in Gnome-affinen Systemen wie Ubuntu und Mint unter /run/user/1000/gvfs/. „1000“ ist die User-ID des ersteingerichteten Hauptkontos und lautet anders, wenn ein davon abweichendes Konto benutzt wird. „gvfs“ steht für Gnome-Virtual-Filesystem. Bei Netzlaufwerken führt das Adressfeld des Dateimanagers mit Protokollangaben wie „smb://server/data“ nicht zum Mountverzeichnis.

Tipp: Die Dateimanager typischer Linux-Desktops hängen angeklickte Samba- oder Windows-Freigaben automatisch ins Dateisystem ein (Automount). Unter Gnome-affinen Desktops wie Unity, Gnome, Cinnamon, Mate arbeitet dabei im Hintergrund das Gnome Virtual Filesystem (GVFS) und mountet unter /run/user/1000/gvfs/ in sprechende, aber unhandliche Mountordner.

Solange Sie im Dateimanager bleiben, kann es Ihnen gleichgültig sein, dass ein Mountordner etwa „/run/user/1000/gvfs/smb-share:server=odroid,share=data“ lautet. Wenn Sie die Ressource aber auf der Kommandozeile nutzen, etwa für rsync- oder cp-Befehle, ist der lange Pfad lästig. Abhilfe schafft manuelles Mounten in einen handlichen Pfad (Beispiel):

sudo mount -t cifs -o user=ha,domain=odroid,password=geheim //192.168.0.6/Data ~/mount/odroid

Das Mountverzeichnissen muss bereits existieren. Eine noch einfachere Alternative dazu ist eine Variable in der Datei ~/.bashrc:

data=/run/user/1000/gvfs/smb-share:server=odroid,share=data

Danach können Sie den unhandlichen Pfad im Terminal nun sehr handlich mit „$data“ ansprechen, und das Terminal bietet dabei sogar automatische Pfadergänzung (mit Tab-Taste).

Datenträger (3): Verwaltung mit gnome-disks

Unter den Gnome-affinen Oberflächen Cinnamon, Mate und XFCE hat sich das Programm gnome-disks als Standard etabliert, das auf deutschem Desktop als „Laufwerke“ im Hauptmenü oder Dash erscheint. gnome-disks kann alles, was für die Kontrolle und wichtigsten Partitionsarbeiten nötig ist. Links erscheint die Liste aller Datenträger, ein Klick auf einen Eintrag visualisiert dessen Partitionierung, zeigt Gerätenamen (/dev/…), Partitionsgrößen, Dateisystem und den Mountpunkt als Link, der auf Wunsch den Dateimanager öffnet. Die weiteren Bearbeitungsmöglichkeiten sind gewöhnungsbedürftig, aber durchaus logisch aufgeteilt:

Laufwerksoptionen: Schaltflächen rechts oben bieten Laufwerks-bezogene Aufgaben. Ob nur eine, zwei oder drei Schaltflächen erscheinen, hängt vom gerade markierten Laufwerkstyp ab. So lassen sich zum Beispiel interne Festplatten nicht aushängen oder abschalten, sodass in diesem Fall diese Schaltflächen fehlen. Immer vorhanden ist die Hauptschaltfläche, die das Formatieren, das Arbeiten mit Images („Laufwerksabbild erzeugen/wiederherstellen“), das Einstellen von Energieoptionen („Laufwerkseinstellungen“), ferner Tests und Smart-Analysen vorsieht. Funktionen, die der jeweilige Datenträger nicht hergibt, bleiben deaktiviert.

Die Möglichkeit, hier Images vom markierten Datenträger in eine IMG-Datei zu schreiben („erzeugen“) oder eine IMG-Datei wieder zurück auf einen Datenträger („wiederherstellen“), machen manche andere Tools überflüssig.

Partitionsoptionen: Was Sie mit einzelnen Partitionen auf Laufwerken anstellen können, ist in den kleinen Schaltflächen unterhalb des Partitionsschemas untergebracht. Sie müssen erst das Rechteck der gewünschten Partition markieren und dann die gewünschte Schaltfläche anklicken. Sie können Partitionen aus- und einhängen, löschen (Minus-Schaltfläche), formatieren und auch als Image sichern („Partitionsabbild erstellen“) oder ein Image auf die Partition zurückschreiben.

Tipp: Die Automount-Funktion hängt angeschlossene USB-Wechseldatenträger unter /media/[user]/ ein. Die dort anzutreffenden Mount-Ordner sind nicht immer aussagekräftig, sondern können etwa „144EB7A373084FB6“ lauten. Dies ist die UUID (Universally Unique Identifier) des Datenträgers, die als Mountpunkt einspringt, wenn keine Datenträgerbezeichnung vorliegt. In der Navigationsspalte der Dateimanager erscheint ein solches Laufwerk etwas freundlicher als „Datenträger XX GB“ unter „Geräte“. Wenn Sie sowohl im Mountpunkt als auch im Dateimanager eine aussagekräftige Bezeichnung sehen möchten, dann sollten Sie dem Laufwerk ein Label verpassen. Unter Ubuntu/Mint geht das am bequemsten mit „Laufwerke“ (gnome-disks). Sie müssen nur den Datenträger markieren, ihn mit dem ersten quadratischen Symbol unterhalb der Grafik „Datenträger“ aushängen und danach das Zahnradsymbol und hier die Option „Dateisystem bearbeiten“ wählen. Dann geben Sie einen sprechenden Namen ein, klicken auf „Ändern“ und hängen den Datenträger danach wieder ein (erstes Symbol). Mountverzeichnis und Name im Dateimanager halten sich nun an die Datenträgerbezeichnung.

Aussagekräftige Mount-Verzeichnisse: Wenn USB-Datenträger eine Bezeichnung haben, übernimmt die Automount-Funktion diesen Namen für den Mountpunkt.
Mächtiges gnome-disks („Laufwerke“): Das Standard-Tool beherrscht fast alle Datenträger-relevanten Aufgaben, unter anderem auch das Schreiben von System-Images.

Datenträger (4): Das meist unentbehrliche Gparted

Das Einzige, was gnome-disks nicht mitbringt, ist die Fähigkeit, bei Bedarf die Partitionsgrößen zu ändern. Software der Wahl hierfür ist Gparted. Zum Teil ist es bereits vorinstalliert, wo nicht, mit

sudo apt-get install gparted

schnell nachinstalliert. Gparted kann nicht nur nach Rechtsklick über „Größe ändern/verschieben“ bestehende Partitionsgrößen ohne Datenverlust ändern, sondern ist generell das umfassendste und zugleich übersichtlichste Programm für Formatierung, Partitionierung, Label- und UUID-Anpassung. Beachten Sie, dass das Hauptfenster immer nur die Partition(en) des rechts oben gewählten Datenträgers anzeigt. Beachten Sie ferner, dass Gparted angeforderte Aktionen niemals sofort tätigt, sondern in einem Auftragsstapel sammelt, den Sie erst mit „Bearbeiten -> Alle Vorgänge ausführen“ auslösen.

Das Standardprogramm gnome-disks verliert neben Gparted keineswegs seine Berechtigung: Es ist schneller und viel breiter angelegt mit seinen Image-Funktionen, Smart- und Leistungstests sowie Energieeinstellungen.

Datenträger (5): Tools für die Plattenbelegung

Unter Ubuntu und Linux Mint finden Sie die „Festplattenbelegungsanalyse“ oder „Festplattenbelegung analysieren“ im Hauptmenü. Dahinter steht das Tool Baobab, das nach dem Start erst einmal eine Übersicht der Datenträger zeigt. Hier sind die jeweilige Gesamtkapazität und der derzeitige Füllstand ersichtlich. Nach Klick auf dem Pfeil ganz rechts startet Baobab eine Ordneranalyse, die es wahlweise als Kreis- oder Kacheldiagramm visualisiert. Das sieht hübsch aus, doch der Erkenntniswert hält sich in Grenzen. Viele Linux-Nutzer werden sich von einem df -h oder

df -h | grep /dev/sd

schneller und besser informiert fühlen. Wer dann wirklich eine Größenanalyse der Verzeichnisse benötigt, ist mit einem weiteren Terminalwerkzeug

du -h

ebenfalls übersichtlicher beraten.

Belegung mit Ncdu prüfen: Ein Spezialist ist das nützliche Ncdu („NCurses Disk Usage“, wohl kaum zufällig auch als „Norton Commander Disk Usage“ auflösbar). Das Terminalprogramm sortiert die Verzeichnisse standardmäßig nach der enthaltenen Datenmenge und bietet eine sehr viel bequemer bedienbare Festplattenanalyse als das Standardwerkzeug du. Denn Ncdu wechselt wie ein orthodoxer Dateimanager zwischen den Verzeichnissen und kann auch aktiv löschen, wo Sie dies für nötig erachten. Ncdu gehört auf jeden Server, verdient aber selbst auf Desktop-Systemen den Vorzug gegenüber den grafischen Alternativen wie Baobab. In Debian/Raspbian/Ubuntu/Mint-basierten Systemen ist Ncdu mit

sudo apt-get install ncdu

schnell installiert. Die einzig wirklich maßgebliche Bedienregel ist die Auswahl des Startverzeichnisses. Ist Ncdu nämlich einmal gestartet, wird es in keine höhere Verzeichnisebene wechseln. Wenn Sie daher das komplette Dateisystem durchforsten wollen, sollten Sie das Tool daher mit

ncdu /

starten. Das Einlesen kann dauern, wenn Sie auf diese Weise das ganze Dateisystem untersuchen. Ncdu sortiert immer automatisch nach Ordnergrößen, kann aber mit Taste „n“ auch nach Namen sortieren, mit „s“ wieder nach Größen („size“). Wichtige Tastenkommandos sind ferner „g“ („graph/percentage“) für die Anzeige von Prozentzahlen (und wieder zurück) und „d“ als Löschbefehl („delete“). Wer nur kontrollieren, keinesfalls löschen will, kann das Tool mit „ncdu -r“ starten, wonach es im Readonly-Modus arbeitet.

Verzeichnisgrößen ermitteln mit „NCurses Disk Usage“: Ncdu ist ein Muss auf SSH-verwalteten Systemen und selbst auf Desktop-Installationen mit grafischer Oberfläche eine Empfehlung.

Task-Verwaltung (1): „Systemüberwachung“ und htop

Auf einem Desktop-System wie Ubuntu und Mint werden Sie die grafische „Systemüberwachung“ (gnome-system-monitor) bevorzugen, um Tasks zu kontrollieren oder zu beenden. Das Tool beherrscht nach Rechtsklick auf einen Prozess alle Aufgaben bis hin zur Prioritätsanpassung, sortiert nach der gewünschten Spalte und zeigt nach Rechtslick auf den Spaltenkopf auf Wunsch noch wesentlich mehr Spalten (etwa „CPU-Zeit“ oder „Befehlszeile“). Die Echtzeitüberwachung von CPU, Speicher und Netzwerk unter „Ressourcen“ ist ebenfalls vorbildlich.

Auf Servern oder wo sonst ein grafisches Werkzeug fehlt, liefert htop auf der Konsole einen präzisen und auch ästhetisch ansprechenden Überblick. Es macht andere Tools weitgehend überflüssig, so etwa das oft standardmäßig installierte Top oder spezialisiertere Tools wie iotop oder dstat. htop zeigt beliebig detaillierte Infos zu allen laufenden Prozessen und erlaubt den gezielten Abschuss einzelner Tasks, die aus dem Ruder laufen (F9). Zudem lässt sich die Prozesspriorität steuern (F7/F8). Htop ist in den Paketquellen aller Distributionen verfügbar und etwa unter allen Debian/Raspbian/Ubuntu/Mint-basierten System mit

sudo apt-get install htop

nachzurüsten. Es lohnt sich, das hervorragend anpassbare Tool über „F2 Setup“ sorgfältig einzurichten. Die Navigation im Setup erfolgt über Cursortasten:

„Meters“ betrifft den Kopfbereich mit den Basisinformationen in zwei Spalten. Hier sollten CPU-Auslastung, Speicher, Uptime und ähnlich grundlegende Angaben organisiert werden. Die verfügbaren Infos unter „Available meters“ können mit den angezeigten Funktionstasten in die rechte oder linke Spalte integriert werden. Die ideale Anzeige lässt sich mühelos finden, weil Htop die gewählte Einstellung sofort anzeigt.

„Columns“ betrifft die eigentliche Taskanzeige. Hier sind annähernd 70 Detailinfos pro Prozess möglich, fünf bis acht (etwa „Percent_CPU“, „Percent_MEM“, „Command“) sind ausreichend und noch übersichtlich. Wer die Prozesspriorität mit den Tasten F7 und F8 steuern will, muss sich zur optischen Kontrolle der Änderung den „Nice“-Wert einblenden. Je nachdem, was Sie genauer analysieren, können Sie die Taskliste jederzeit mit Taste F6 („SortBy“) nach einem anderen Kriterium sortieren – nach CPU-Anteil, Speicher oder Festplattenzugriffen. Zum Eingrenzen auf bestimmte Pfade oder Prozessnamen gibt es außerdem einen Textfilter (Taste F4)

Beachten Sie, dass die htop-Konfiguration sehr viel anbietet, jedoch nicht das Refresh-Intervall seiner Analyse. Dieses lässt sich mit

htop -d 20

beim Aufruf steuern, wobei die Angabe in Zehntelsekunden erfolgt.

Tipp: Das auf den meisten Distributionen standardmäßig installierte top verliert neben htop seine Berechtigung nicht ganz: Sein einziger, aber nicht unwesentlicher Vorzug ist die Weitergabe der Prozessinfos an eine Datei:

top -b -d 10.0 > top.txt

Der Schalter „-b“ sorgt für den Batchmodus, der die eigene Anzeige von top abschaltet. Die Prozessliste wird in diesem Fall alle 10 Sekunden („-d“ für „delay“) an die Ausgabedatei geschickt. Filter mit grep können die Prozessanalyse eingrenzen.

Mehr Spalten – mehr Infos: Wenn der grafische gnome-system-monitor („Systemüberwachung“) verfügbar ist, ist das der Taskmanager der Wahl. Er kann alles und zeigt alles.
Was läuft hier (falsch)? Htop ist glänzender Taskmanager für die Kommandozeile, weil er informativ und anpassungsfähig ist und aus dem Ruder laufende Prozesse beenden kann.

Task-Verwaltung (2): Die Tools xprop und xkill

xprop zeigt zahlreiche interne Eigenschaften grafischer Programme an. Das einfachste und häufigste Motiv, xprop zu verwenden, ist die Frage nach dem Programmnamen eines Fensters. Also etwa die Frage: Wie lautet der Name des Dateimanagers, den ich gerade benutze? Folgender Befehl filtert den xprop-Output auf die gewünschte Antwort:

xprop | grep CLASS

Der Mauszeiger verwandelt sich in ein Kreuz, mit dem Sie auf das gewünschte Fenster klicken. Im Terminal erscheint dann der zugehörige Programmname. Der herausgefundene Name ist nützlich, um Programme in Zukunft direkt über den Ausführen-Dialog zu starten, oder um hängengebliebene Anwendungen mit killall [name] zu beenden.

xkill kann grafische Programme zuverlässig beenden, wenn dessen Fenster nicht mehr reagiert. Bei xkill müssen Sie weder den Programmnamen noch die Prozess-ID kennen. Auch beim Aufruf von xkill im Terminal verwandelt sich der Mauszeiger in ein Kreuz, mit dem Sie das störrische Programm anklicken und beenden. Idealerweise ist xkill mit einer globalen Tastenkombination verknüpft, die es jederzeit aufruft. Einige Distributionen verwenden den Hotkey Strg-Alt-Esc, in den meisten Linux-Varianten ist allerdings kein globaler Hotkey voreingestellt. Holen Sie das unter „Systemeinstellungen -> Tastatur -> Tastaturkürzel“ manuell nach, indem Sie dort xkill unter „Eigene Tastaturkürzel“ eintragen und dem Programm durch Drücken der Tastenkombination Strg-Alt-Esc selbige zuweisen.

Task-Verwaltung (3): Autostarts im Griff

Unter Ubuntu und Linux Mint finden Sie das Applet „Startprogramme“ unter den Systemeinstellungen (gnome-session-properties). Durch Deaktivieren eines Häkchens schalten Sie dort Autostarts ab, über die Schaltfläche „Entfernen“ verschwindet es komplett aus dem Verwaltungstool (bleibt aber als Programm erhalten). Alle Autostarts des Benutzers werden als desktop-Dateien unter ~/.config/autostart, und die vom System benötigten Autostarts stehen unter /etc/xdg/autostart. Es handelt sich um Textdateien, die Sie mit jedem Editor bearbeiten können, wobei unter /etc/xdg/autostart root-Rechte notwendig sind.

bashrc: Die versteckte Datei ~/.bashrc liegt im Home-Verzeichnis jedes Benutzers und gilt folglich für den angemeldeten Benutzer. Alle dort enthaltenen Kommandos werden bei jedem Start des Terminals abgearbeitet.

/etc/rc.local: Für Befehle, die unabhängig vom angemeldeten Benutzer vor der Benutzeranmeldung abgearbeitet werden sollen, eignet sich auf allen Debian-Systemen einschließlich Ubuntu und Mint die Datei /etc/rc.local. Um die Datei zu bearbeiten, benötigen Sie root-Rechte:

sudo gedit /etc/rc.local

crontab: Der Zeitplaner Cron ist auf allen Linux-Systemen vorinstalliert und nutzt eine systemweite Datei /etc/crontab, die für alle Benutzer gilt und im Terminal mit root-Rechten bearbeitet werden kann:

sudo crontab –e

Zusätzlich kann es Benutzer-Crontabs geben, die unter /var/spool/cron/crontabs/ zu orten sind. Kontrolle über Systemdienste

Dienste: Neben automatisch gestarteten Programmen lädt jedes Linux zahlreiche Systemdienste, die das Tool „Startprogramme“ grundsätzlich nicht auflistet. Im Terminal ist mit

service --status-all

eine Übersicht möglich. Wer Systemdienste bequem kontrollieren und bei Bedarf auch deaktivieren will, kann den „Boot Up Manager“ nachinstallieren:

sudo apt-get install bum

Die Bedienung ist selbsterklärend. Sie können Dienste nach Rechtsklick „Jetzt stoppen“ (für die aktuelle Sitzung) oder dauerhaft abschalten, indem Sie das Häkchen entfernen. Das Abschalten von Diensten setzt aber gründliche Kenntnis über deren Funktion voraus.

Typische Crontab: Hier gibt es vier Jobs, die das System täglich um 8:00 und 9:00 Uhr sowie stündlich abarbeitet.

Zurück zur Linux-Übersichtsseite…